package com.ruoyi.mes.service;

import java.util.List;
import com.ruoyi.mes.domain.ProBom;
import com.ruoyi.mes.domain.ProBomMaterial;

/**
 * BOM管理Service接口
 * 
 * @author CFL
 * @date 2024-04-28
 */
public interface IProBomService 
{
    /**
     * 查询BOM管理
     * 
     * @param id BOM管理主键
     * @return BOM管理
     */
    public ProBom selectProBomById(Long id);


    /**
     * 查询BOM物料
     *
     * @param id BOM管理主键
     * @return BOM管理
     */
    public List<ProBomMaterial> selectProBomMat(Long id);

    /**
     * 修改-根据产品id查询产品BOM物料
     *
     * @param proId BOM管理主键
     * @return BOM管理
     */
    public List<ProBomMaterial> selectMaterialById(Long proId);

    /**
     * 查询BOM管理列表
     * 
     * @param proBom BOM管理
     * @return BOM管理集合
     */
    public List<ProBom> selectProBomList(ProBom proBom);

    /**
     * 新增BOM管理
     * 
     * @param proBom BOM管理
     * @return 结果
     */
    public int insertProBom(ProBom proBom);

    /**
     * 修改BOM管理
     * 
     * @param proBom BOM管理
     * @return 结果
     */
    public int updateProBom(ProBom proBom);

    /**
     * 批量删除BOM管理
     * 
     * @param ids 需要删除的BOM管理主键集合
     * @return 结果
     */
    public int deleteProBomByIds(Long[] ids);

    /**
     * 删除BOM管理信息
     * 
     * @param id BOM管理主键
     * @return 结果
     */
    public int deleteProBomById(Long id);
}
